Estoy tratando de leer el archivo .xlsx usando FileReader y el módulo XLSX. Entonces, si estoy tratando de leer todo el archivo .xlsx, entonces funciona bien. Pero solo quiero leer solo las 5 a 10 líneas principales del archivo .xlsx. por eso, en lugar de pasar un archivo original que puede ser bastante grande en algún momento superior a 100 MB. Solo estoy pasando una porción del archivo al FileReader para que pueda leer el archivo más rápido; de lo contrario, si paso el archivo original, que puede ser de 100 mb, tomará demasiado tiempo procesarlo y no quiero procesar un archivo completo para acaba de leer las 10 líneas principales.
Aquí está el código:
onFile(event:any){ let data = event.target.files[0]; let fileReader = new FileReader(); fileReader.onload = (e) => { let arrayBuffer = e.target.result; console.log(arrayBuffer); let workbook = XLSX.read(arrayBuffer, {type:"array"}); let first_sheet_name = workbook.SheetNames[0]; let worksheet = workbook.Sheets[first_sheet_name]; console.log(XLSX.utils.sheet_to_json(worksheet,{raw:true})); } fileReader.readAsArrayBuffer(data.slice(0,500)); }así que creo que el problema aquí es durante el corte. Estoy tratando de cortar comenzando 500 bytes usando el método de corte y luego pasándolo al FileReader. entonces mi pregunta es aquí, ¿cómo puedo cortar un archivo .xlsx correctamente porque el uso del archivo de forma actual se corrompe?
Nota: otros archivos como .csv o .tsv funcionan bien incluso si los estoy cortando de la forma actual. También pude leer el archivo .xlsx de la misma manera hace unos meses. pero no sé por qué me enfrento a este problema ahora.